/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * StaffView.java
 *
 * Created on 21.Eki.2010, 14:57:09
 */
package view.user;

import java.util.Observable;
import java.util.Observer;
import javax.swing.JButton;
import javax.swing.JLayeredPane;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import model.user.Staff;

/**
 *
 * @author CUNEYT
 */
public class StaffView extends javax.swing.JPanel implements Observer {

    /** Creates new form StaffView */
    public StaffView() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        staffToolBar = new javax.swing.JToolBar();
        seeScheduleButton = new javax.swing.JButton();
        seeWorkHoursButton = new javax.swing.JButton();
        staffLayeredPane = new javax.swing.JLayeredPane();
        schedulePanel = new javax.swing.JPanel();
        taskScrollPane = new javax.swing.JScrollPane();
        taskList = new javax.swing.JList();
        appointmentScrollPane = new javax.swing.JScrollPane();
        appointmentList = new javax.swing.JList();
        taskLabel = new javax.swing.JLabel();
        appointmentLabel = new javax.swing.JLabel();
        taskStartDateLabel = new javax.swing.JLabel();
        taskStartDateTextField = new javax.swing.JTextField();
        taskStartTimeLabel = new javax.swing.JLabel();
        taskStartTimeTextField = new javax.swing.JTextField();
        taskEndTimeTextField = new javax.swing.JTextField();
        taskEndTimeLabel = new javax.swing.JLabel();
        taskEndDateTextField = new javax.swing.JTextField();
        taskEndDateLabel = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        relatedCampaignTextField = new javax.swing.JTextField();
        skillsRequiredLabel = new javax.swing.JLabel();
        skillsRequiredTextField = new javax.swing.JTextField();
        appDateTextField = new javax.swing.JTextField();
        appDateLabel = new javax.swing.JLabel();
        appStartTimeLabel = new javax.swing.JLabel();
        appStartTimeTextField = new javax.swing.JTextField();
        appEndTimeLabel = new javax.swing.JLabel();
        appEndTimeTextField = new javax.swing.JTextField();
        appExplanationLabel = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        appExplanationTextArea = new javax.swing.JTextArea();
        taskExplanationLabel = new javax.swing.JLabel();
        taskExplanationTextField = new javax.swing.JTextField();
        workHoursPanel = new javax.swing.JPanel();
        workHoursScrollPane = new javax.swing.JScrollPane();
        workHoursList = new javax.swing.JList();
        totalInOfficeWorkHoursLabel = new javax.swing.JLabel();
        totalInOfficeWorkHoursTextField = new javax.swing.JTextField();
        totalInOfficeWorkHoursLabel1 = new javax.swing.JLabel();
        totalOutOfOfficeWorkHoursTextField = new javax.swing.JTextField();

        staffToolBar.setFloatable(false);
        staffToolBar.setRollover(true);

        seeScheduleButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/calendar.png"))); // NOI18N
        seeScheduleButton.setText("SCHEDULE");
        seeScheduleButton.setFocusable(false);
        seeScheduleButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        seeScheduleButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        staffToolBar.add(seeScheduleButton);

        seeWorkHoursButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/hours.png"))); // NOI18N
        seeWorkHoursButton.setText("WORK HOURS");
        seeWorkHoursButton.setFocusable(false);
        seeWorkHoursButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        seeWorkHoursButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        staffToolBar.add(seeWorkHoursButton);

        taskList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        taskList.setVisibleRowCount(-1);
        taskScrollPane.setViewportView(taskList);

        appointmentList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        appointmentList.setVisibleRowCount(-1);
        appointmentScrollPane.setViewportView(appointmentList);

        taskLabel.setText("Tasks in the Schedule");

        appointmentLabel.setText("Appointments in the Schedule");

        taskStartDateLabel.setText("Start Date");

        taskStartDateTextField.setEditable(false);

        taskStartTimeLabel.setText("Start Time");

        taskStartTimeTextField.setEditable(false);

        taskEndTimeTextField.setEditable(false);

        taskEndTimeLabel.setText("End Time");

        taskEndDateTextField.setEditable(false);

        taskEndDateLabel.setText("End Date");

        jLabel1.setText("Related Campaign");

        relatedCampaignTextField.setEditable(false);

        skillsRequiredLabel.setText("Skill Required");

        skillsRequiredTextField.setEditable(false);

        appDateTextField.setEditable(false);

        appDateLabel.setText("Date");

        appStartTimeLabel.setText("Start Time");

        appStartTimeTextField.setEditable(false);

        appEndTimeLabel.setText("End Time");

        appEndTimeTextField.setEditable(false);

        appExplanationLabel.setText("Explanation");

        appExplanationTextArea.setColumns(20);
        appExplanationTextArea.setEditable(false);
        appExplanationTextArea.setRows(5);
        jScrollPane1.setViewportView(appExplanationTextArea);

        taskExplanationLabel.setText("Explanation");

        taskExplanationTextField.setEditable(false);

        javax.swing.GroupLayout schedulePanelLayout = new javax.swing.GroupLayout(schedulePanel);
        schedulePanel.setLayout(schedulePanelLayout);
        schedulePanelLayout.setHorizontalGroup(
            schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(schedulePanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(taskLabel)
                    .addComponent(taskScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 357, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(skillsRequiredLabel)
                    .addGroup(schedulePanelLayout.createSequentialGroup()
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(taskEndTimeLabel)
                            .addComponent(taskEndDateLabel)
                            .addComponent(taskStartTimeLabel)
                            .addComponent(taskStartDateLabel)
                            .addComponent(taskExplanationLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(taskExplanationTextField)
                            .addComponent(skillsRequiredTextField)
                            .addComponent(relatedCampaignTextField)
                            .addComponent(taskEndTimeTextField)
                            .addComponent(taskStartTimeTextField)
                            .addComponent(taskStartDateTextField)
                            .addComponent(taskEndDateTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE))))
                .addGap(17, 17, 17)
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, schedulePanelLayout.createSequentialGroup()
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(appDateLabel)
                            .addComponent(appStartTimeLabel)
                            .addComponent(appEndTimeLabel)
                            .addComponent(appExplanationLabel))
                        .addGap(24, 24, 24)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(appStartTimeTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
                            .addComponent(appDateTextField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
                            .addComponent(appEndTimeTextField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)))
                    .addComponent(appointmentScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE)
                    .addComponent(appointmentLabel))
                .addContainerGap())
        );
        schedulePanelLayout.setVerticalGroup(
            schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(schedulePanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(appointmentLabel)
                    .addComponent(taskLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(appointmentScrollPane)
                    .addComponent(taskScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(schedulePanelLayout.createSequentialGroup()
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(taskStartDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(taskStartDateLabel)
                            .addComponent(appDateLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(taskEndDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(taskEndDateLabel)
                            .addComponent(appStartTimeLabel))
                        .addGap(12, 12, 12)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(taskStartTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(taskStartTimeLabel)
                            .addComponent(appEndTimeLabel)))
                    .addComponent(appDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(schedulePanelLayout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addComponent(appStartTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(12, 12, 12)
                        .addComponent(appEndTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(schedulePanelLayout.createSequentialGroup()
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(taskEndTimeLabel)
                            .addComponent(taskEndTimeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(appExplanationLabel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel1)
                            .addComponent(relatedCampaignTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(skillsRequiredLabel)
                            .addComponent(skillsRequiredTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(schedulePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(taskExplanationLabel)
                            .addComponent(taskExplanationTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        schedulePanel.setBounds(0, 0, 740, 420);
        staffLayeredPane.add(schedulePanel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        workHoursList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        workHoursList.setVisibleRowCount(-1);
        workHoursScrollPane.setViewportView(workHoursList);

        totalInOfficeWorkHoursLabel.setText("TOTAL IN OFFICE WORK HOURS");

        totalInOfficeWorkHoursTextField.setEditable(false);

        totalInOfficeWorkHoursLabel1.setText("TOTAL OUT OF OFFICE WORK HOURS");

        totalOutOfOfficeWorkHoursTextField.setEditable(false);

        javax.swing.GroupLayout workHoursPanelLayout = new javax.swing.GroupLayout(workHoursPanel);
        workHoursPanel.setLayout(workHoursPanelLayout);
        workHoursPanelLayout.setHorizontalGroup(
            workHoursPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, workHoursPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(workHoursPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(workHoursScrollPane, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 720, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, workHoursPanelLayout.createSequentialGroup()
                        .addComponent(totalInOfficeWorkHoursLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(totalInOfficeWorkHoursTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(totalInOfficeWorkHoursLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(totalOutOfOfficeWorkHoursTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)))
                .addContainerGap())
        );
        workHoursPanelLayout.setVerticalGroup(
            workHoursPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, workHoursPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(workHoursScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 367, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(workHoursPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(totalInOfficeWorkHoursLabel)
                    .addComponent(totalInOfficeWorkHoursTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(totalOutOfOfficeWorkHoursTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(totalInOfficeWorkHoursLabel1))
                .addContainerGap())
        );

        workHoursPanel.setBounds(0, 0, 740, 420);
        staffLayeredPane.add(workHoursPanel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(staffLayeredPane, javax.swing.GroupLayout.PREFERRED_SIZE, 740, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(staffToolBar, javax.swing.GroupLayout.DEFAULT_SIZE, 800, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(staffToolBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(staffLayeredPane, javax.swing.GroupLayout.PREFERRED_SIZE, 420, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(22, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    public JTextField getTaskExplanationTextField() {
        return taskExplanationTextField;
    }

    public void setTaskExplanationTextField(JTextField taskExplanationTextField) {
        this.taskExplanationTextField = taskExplanationTextField;
    }

    public JTextField getAppDateTextField() {
        return appDateTextField;
    }

    public void setAppDateTextField(JTextField appDateTextField) {
        this.appDateTextField = appDateTextField;
    }

    public JTextField getAppEndTimeTextField() {
        return appEndTimeTextField;
    }

    public void setAppEndTimeTextField(JTextField appEndTimeTextField) {
        this.appEndTimeTextField = appEndTimeTextField;
    }

    public JTextField getAppStartTimeTextField() {
        return appStartTimeTextField;
    }

    public void setAppStartTimeTextField(JTextField appStartTimeTextField) {
        this.appStartTimeTextField = appStartTimeTextField;
    }

    public JList getAppointmentList() {
        return appointmentList;
    }

    public void setAppointmentList(JList appointmentList) {
        this.appointmentList = appointmentList;
    }

    public JTextField getRelatedCampaignTextField() {
        return relatedCampaignTextField;
    }

    public void setRelatedCampaignTextField(JTextField relatedCampaignTextField) {
        this.relatedCampaignTextField = relatedCampaignTextField;
    }

    public JPanel getSchedulePanel() {
        return schedulePanel;
    }

    public void setSchedulePanel(JPanel schedulePanel) {
        this.schedulePanel = schedulePanel;
    }

    public JButton getSeeScheduleButton() {
        return seeScheduleButton;
    }

    public void setSeeScheduleButton(JButton seeScheduleButton) {
        this.seeScheduleButton = seeScheduleButton;
    }

    public JButton getSeeWorkHoursButton() {
        return seeWorkHoursButton;
    }

    public void setSeeWorkHoursButton(JButton seeWorkHoursButton) {
        this.seeWorkHoursButton = seeWorkHoursButton;
    }

    public JTextField getSkillsRequiredTextField() {
        return skillsRequiredTextField;
    }

    public void setSkillsRequiredTextField(JTextField skillsRequiredTextField) {
        this.skillsRequiredTextField = skillsRequiredTextField;
    }

    public JLayeredPane getStaffLayeredPane() {
        return staffLayeredPane;
    }

    public void setStaffLayeredPane(JLayeredPane staffLayeredPane) {
        this.staffLayeredPane = staffLayeredPane;
    }

    public JTextField getTaskEndDateTextField() {
        return taskEndDateTextField;
    }

    public void setTaskEndDateTextField(JTextField taskEndDateTextField) {
        this.taskEndDateTextField = taskEndDateTextField;
    }

    public JTextField getTaskEndTimeTextField() {
        return taskEndTimeTextField;
    }

    public void setTaskEndTimeTextField(JTextField taskEndTimeTextField) {
        this.taskEndTimeTextField = taskEndTimeTextField;
    }

    public JList getTaskList() {
        return taskList;
    }

    public void setTaskList(JList taskList) {
        this.taskList = taskList;
    }

    public JTextField getTaskStartDateTextField() {
        return taskStartDateTextField;
    }

    public void setTaskStartDateTextField(JTextField taskStartDateTextField) {
        this.taskStartDateTextField = taskStartDateTextField;
    }

    public JTextField getTaskStartTimeTextField() {
        return taskStartTimeTextField;
    }

    public void setTaskStartTimeTextField(JTextField taskStartTimeTextField) {
        this.taskStartTimeTextField = taskStartTimeTextField;
    }

    public JPanel getWorkHoursPanel() {
        return workHoursPanel;
    }

    public void setWorkHoursPanel(JPanel workHoursPanel) {
        this.workHoursPanel = workHoursPanel;
    }

    public JTextArea getAppExplanationTextArea() {
        return appExplanationTextArea;
    }

    public void setAppExplanationTextArea(JTextArea appExplanationTextArea) {
        this.appExplanationTextArea = appExplanationTextArea;
    }

    public JList getWorkHoursList() {
        return workHoursList;
    }

    public void setWorkHoursList(JList workHoursList) {
        this.workHoursList = workHoursList;
    }

    public JTextField getTotalInOfficeWorkHoursTextField() {
        return totalInOfficeWorkHoursTextField;
    }

    public void setTotalInOfficeWorkHoursTextField(JTextField totalInOfficeWorkHoursTextField) {
        this.totalInOfficeWorkHoursTextField = totalInOfficeWorkHoursTextField;
    }

    public JTextField getTotalOutOfOfficeWorkHoursTextField() {
        return totalOutOfOfficeWorkHoursTextField;
    }

    public void setTotalOutOfOfficeWorkHoursTextField(JTextField totalOutOfOfficeWorkHoursTextField1) {
        this.totalOutOfOfficeWorkHoursTextField = totalOutOfOfficeWorkHoursTextField1;
    }

    public void update(Observable o, Object arg) {

        Staff staff = (Staff) arg;
        taskList.setModel(new ACIListModel(staff.getTasks()));
        totalInOfficeWorkHoursTextField.setText(String.valueOf(staff.getInOfficeHours()));
        totalOutOfOfficeWorkHoursTextField.setText(String.valueOf(staff.getOutOfOfficeHours()));
        appointmentList.setModel(new ACIListModel(staff.getAppointments()));
        workHoursList.setModel(new ACIListModel(staff.getConsultedCampaigns()));
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel appDateLabel;
    private javax.swing.JTextField appDateTextField;
    private javax.swing.JLabel appEndTimeLabel;
    private javax.swing.JTextField appEndTimeTextField;
    private javax.swing.JLabel appExplanationLabel;
    private javax.swing.JTextArea appExplanationTextArea;
    private javax.swing.JLabel appStartTimeLabel;
    private javax.swing.JTextField appStartTimeTextField;
    private javax.swing.JLabel appointmentLabel;
    private javax.swing.JList appointmentList;
    private javax.swing.JScrollPane appointmentScrollPane;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField relatedCampaignTextField;
    private javax.swing.JPanel schedulePanel;
    private javax.swing.JButton seeScheduleButton;
    private javax.swing.JButton seeWorkHoursButton;
    private javax.swing.JLabel skillsRequiredLabel;
    private javax.swing.JTextField skillsRequiredTextField;
    private javax.swing.JLayeredPane staffLayeredPane;
    private javax.swing.JToolBar staffToolBar;
    private javax.swing.JLabel taskEndDateLabel;
    private javax.swing.JTextField taskEndDateTextField;
    private javax.swing.JLabel taskEndTimeLabel;
    private javax.swing.JTextField taskEndTimeTextField;
    private javax.swing.JLabel taskExplanationLabel;
    private javax.swing.JTextField taskExplanationTextField;
    private javax.swing.JLabel taskLabel;
    private javax.swing.JList taskList;
    private javax.swing.JScrollPane taskScrollPane;
    private javax.swing.JLabel taskStartDateLabel;
    private javax.swing.JTextField taskStartDateTextField;
    private javax.swing.JLabel taskStartTimeLabel;
    private javax.swing.JTextField taskStartTimeTextField;
    private javax.swing.JLabel totalInOfficeWorkHoursLabel;
    private javax.swing.JLabel totalInOfficeWorkHoursLabel1;
    private javax.swing.JTextField totalInOfficeWorkHoursTextField;
    private javax.swing.JTextField totalOutOfOfficeWorkHoursTextField;
    private javax.swing.JList workHoursList;
    private javax.swing.JPanel workHoursPanel;
    private javax.swing.JScrollPane workHoursScrollPane;
    // End of variables declaration//GEN-END:variables
}
